A process of drawing three-dimensional graphics will be explained first.
FIG. 1 is a flow chart showing a series of processes of drawing three-dimensional graphics. This series of processes can be roughly divide into two processes, i.e., a geometry process (steps ST101 to ST103) and a rendering process (steps ST104 to ST108).
The geometry process is a process of performing a geometry process on each vertex of a polygon that constitutes a three-dimensional scene, and generating vertex data used for drawing a two-dimensional screen, and is subdivided into the following process stages: a coordinate transformation process, a clipping process, and a lighting process. The coordinate transformation process is a process of transforming the coordinates of each vertex that defines a polygon into coordinates in a two-dimensional window coordinate system according to the position and direction of a point of view (step ST101). The lighting process is a process of calculating the brightness of each vertex based on the distance and angle of each vertex from a light source (step ST102). The clipping process is a process of discarding polygons located outside a unit cube corresponding to the screen to be displayed (step ST103).
The rendering process is a process of generating pixel data from the vertex data about the vertices of each polygon, which are generated in the geometry process, and of writing them into a frame buffer, and is subdivided into the following processing stages: a setup process, a rasterizing process, a texture mapping process, a pixel test process, and a pixel blending process. The setup process is a process of calculating parameters, such as an increment required for the rasterizing process, from the vertex data (step ST104). The rasterizing process is a process of performing predetermined interpolation according to the parameters determined in the setup process so as to generate pixel data that are based on polygons (step ST105). The texture mapping process is a process of mapping pixel data about a corresponding texture image onto each pixel data (step ST106). The pixel test process is a process of carrying out a depth test to compare the Z value of each pixel data, which shows the depth of each pixel data, with that of other pixel data, and an alpha test to compare the alpha value of each pixel data with that of other pixel data, and of determining whether to write each pixel data into the frame buffer (step ST107). The pixel blending process is a process of blending a color value of each pixel data, which is determined to be written into the frame buffer in the pixel test process, and a color value that has already been written into the frame buffer, and for writing each pixel data in the frame buffer (step ST108). After the rendering process is completed, a display unit accepts pixel data written into the frame buffer and then produces a screen display.
A well-known technology associated with three-dimensional graphic drawing processing, for speeding up three-dimensional graphic drawing with pipeline processing is disclosed by Tomas Moller and Eric Haines, “Real-Time Rendering” (pp. 7 to 21), for example.
FIG. 2 is a block diagram showing the structure of a prior art three-dimensional graphic drawing apparatus. In the figure, reference numeral 1 denotes the three-dimensional graphic drawing apparatus, reference numeral 2 denotes a host interface that the three-dimensional graphic drawing apparatus 1 uses when performing data transfer with an external host CPU 15, reference numeral 3 denotes a three-dimensional data storing unit for storing data about a three-dimensional scene to be drawn on a screen display, reference numeral 4 denotes a geometry processing unit for performing a geometry process, reference numeral 5 denotes a rendering processing unit for performing a rendering process, reference numeral 6 denotes a frame buffer for storing pixel data, reference numeral 15 denotes the external host CPU connected with the three-dimensional graphic drawing apparatus 1, and reference numeral 16 denotes a display unit connected with the three-dimensional graphic drawing apparatus 1, for displaying an image based on pixel data delivered thereto from the frame buffer 6.
Next, a description will be made as to an operation of the prior art three-dimensional graphic drawing apparatus.
When starting performing a three-dimensional graphic drawing process, data about all polygons that represent a three-dimensional scene are set to the three-dimensional data storing unit 3 under the control of the external host CPU 15 and the geometry processing unit 4 is started. The geometry processing unit 4 reads the data stored in the three-dimensional data storing unit 3, performs a geometry process on the data, and delivers vertex data about the vertices of a polygon, which are a result of the geometry process, to the rendering processing unit 5. The rendering processing unit 5 performs a rendering process on the vertex data delivered thereto from the geometry processing unit 4 so as to generate pixel data, and writes the generated pixel data in the frame buffer 6. The geometry processing unit 4 and the rendering processing unit 5 perform their respective processes in pipelines in such a manner that when the rendering processing unit 5 starts performing a rendering process on a polygon, the geometry processing unit 4 starts performing a geometry process on the next polygon. Furthermore, each of the geometry processing unit 4 and the rendering processing unit 5 performs several processes in pipelines therewithin. When the prior art three-dimensional graphic drawing apparatus completes the process of drawing all polygons that constitute the three-dimensional scene, the prior art three-dimensional graphic drawing apparatus transfers the pixel data written in the frame buffer 6 to the display unit 16 and produces a screen display on the screen of the display unit 16.
A prior art three-dimensional graphic drawing apparatus that is so constructed as to perform a high-speed graphic processing in pipelines, as mentioned above, uses a method of stopping the supply of a clock signal to each processing unit that constitutes the three-dimensional graphic drawing apparatus while the three-dimensional graphic drawing apparatus is not performing a graphic process in order to reduce the power consumption of the three-dimensional graphic drawing apparatus, for example, when the three-dimensional graphic drawing apparatus needs reduction in the power consumption thereof, just as portable equipment needs reduction in the power consumption thereof. A problem with the prior art three-dimensional graphic drawing apparatus is therefore that though the use of this method can reduce the power consumption of the three-dimensional graphic drawing apparatus while the three-dimensional graphic drawing apparatus is not operating, a clock signal is supplied to each of all the processing units that constitute the three-dimensional graphic drawing apparatus while the three-dimensional graphic drawing apparatus is operating, and therefore the power consumption of the three-dimensional graphic drawing apparatus cannot be reduced because even processing units placed in standby state are actually operating.
The present invention is proposed to solve the above-mentioned problem, and it is therefore an object of the present invention to provide a three-dimensional graphic drawing apparatus that can operate with low power consumption by controlling clock signals.